package com.itcncp.wechat.app.dao.model;

import com.alibaba.fastjson.annotation.JSONField;
import com.itcncp.common.plugin.ToStringSerializer;

import java.io.Serializable;
import java.util.Date;

public class ItcsCityLimitInfo implements Serializable {

    @JSONField(serializeUsing= ToStringSerializer.class)
    private Long cityLimitId;

    /**
     * 城市代码拼音简写
     *
     * @mbg.generated
     */
    private String city;

    private String cityname;

    private String cityWeek;

    private Date cityDate;

    private String week;

    private Date date;

    /**
     * 京牌罚100块，不扣分。非京牌罚100块，扣3分。
     *
     * @mbg.generated
     */
    private String fine;

    /**
     * 临时号牌按号牌尾号数字限行。机动车车尾号为英文字母的按0号管理
     *
     * @mbg.generated
     */
    private String remarks;

    /**
     * 限行
     *
     * @mbg.generated
     */
    private Byte isxianxing;

    /**
     * 限行尾号
     *
     * @mbg.generated
     */
    private String xxweihao;

    /**
     * 节假日
     *
     * @mbg.generated
     */
    private String holiday;

    private String limitDec;

    private String dec;

    private static final long serialVersionUID = 1L;

    public Long getCityLimitId() {
        return cityLimitId;
    }

    public void setCityLimitId(Long cityLimitId) {
        this.cityLimitId = cityLimitId;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getCityname() {
        return cityname;
    }

    public void setCityname(String cityname) {
        this.cityname = cityname;
    }

    public String getCityWeek() {
        return cityWeek;
    }

    public void setCityWeek(String cityWeek) {
        this.cityWeek = cityWeek;
    }

    public Date getCityDate() {
        return cityDate;
    }

    public void setCityDate(Date cityDate) {
        this.cityDate = cityDate;
    }

    public String getFine() {
        return fine;
    }

    public void setFine(String fine) {
        this.fine = fine;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public Byte getIsxianxing() {
        return isxianxing;
    }

    public void setIsxianxing(Byte isxianxing) {
        this.isxianxing = isxianxing;
    }

    public String getXxweihao() {
        return xxweihao;
    }

    public void setXxweihao(String xxweihao) {
        this.xxweihao = xxweihao;
    }

    public String getHoliday() {
        return holiday;
    }

    public void setHoliday(String holiday) {
        this.holiday = holiday;
    }

    public String getLimitDec() {
        return limitDec;
    }

    public void setLimitDec(String limitDec) {
        this.limitDec = limitDec;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", cityLimitId=").append(cityLimitId);
        sb.append(", city=").append(city);
        sb.append(", cityname=").append(cityname);
        sb.append(", cityWeek=").append(cityWeek);
        sb.append(", cityDate=").append(cityDate);
        sb.append(", fine=").append(fine);
        sb.append(", remarks=").append(remarks);
        sb.append(", isxianxing=").append(isxianxing);
        sb.append(", xxweihao=").append(xxweihao);
        sb.append(", holiday=").append(holiday);
        sb.append(", limitDec=").append(limitDec);
        sb.append("]");
        return sb.toString();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        ItcsCityLimitInfo other = (ItcsCityLimitInfo) that;
        return (this.getCityLimitId() == null ? other.getCityLimitId() == null : this.getCityLimitId().equals(other.getCityLimitId()))
            && (this.getCity() == null ? other.getCity() == null : this.getCity().equals(other.getCity()))
            && (this.getCityname() == null ? other.getCityname() == null : this.getCityname().equals(other.getCityname()))
            && (this.getCityWeek() == null ? other.getCityWeek() == null : this.getCityWeek().equals(other.getCityWeek()))
            && (this.getCityDate() == null ? other.getCityDate() == null : this.getCityDate().equals(other.getCityDate()))
            && (this.getFine() == null ? other.getFine() == null : this.getFine().equals(other.getFine()))
            && (this.getRemarks() == null ? other.getRemarks() == null : this.getRemarks().equals(other.getRemarks()))
            && (this.getIsxianxing() == null ? other.getIsxianxing() == null : this.getIsxianxing().equals(other.getIsxianxing()))
            && (this.getXxweihao() == null ? other.getXxweihao() == null : this.getXxweihao().equals(other.getXxweihao()))
            && (this.getHoliday() == null ? other.getHoliday() == null : this.getHoliday().equals(other.getHoliday()))
            && (this.getLimitDec() == null ? other.getLimitDec() == null : this.getLimitDec().equals(other.getLimitDec()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getCityLimitId() == null) ? 0 : getCityLimitId().hashCode());
        result = prime * result + ((getCity() == null) ? 0 : getCity().hashCode());
        result = prime * result + ((getCityname() == null) ? 0 : getCityname().hashCode());
        result = prime * result + ((getCityWeek() == null) ? 0 : getCityWeek().hashCode());
        result = prime * result + ((getCityDate() == null) ? 0 : getCityDate().hashCode());
        result = prime * result + ((getFine() == null) ? 0 : getFine().hashCode());
        result = prime * result + ((getRemarks() == null) ? 0 : getRemarks().hashCode());
        result = prime * result + ((getIsxianxing() == null) ? 0 : getIsxianxing().hashCode());
        result = prime * result + ((getXxweihao() == null) ? 0 : getXxweihao().hashCode());
        result = prime * result + ((getHoliday() == null) ? 0 : getHoliday().hashCode());
        result = prime * result + ((getLimitDec() == null) ? 0 : getLimitDec().hashCode());
        return result;
    }

    public String getWeek() {
        return week;
    }

    public void setWeek(String week) {
        this.week = week;
    }

    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }

    public String getDec() {
        return dec;
    }

    public void setDec(String dec) {
        this.dec = dec;
    }
}